<?php

/**
 * Classe appelée par l'index.php à l'arrivé de chaque requête
 */
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {

    /**
     * Initialise le doctype des pages du site
     */
    protected function _initHeaderView() {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('XHTML1_STRICT');
    }

    /**
     * Charge le fichier INI qui fournit les messages du site
     * Ici, par défaut, le fichier français est chargé 
     */
    protected function _initTranslate() {
        $translate = new Zend_Translate(array(
                    'adapter' => 'ini',
                    'content' => APPLICATION_PATH . '/../languages/',
                    'scan' => Zend_Translate::LOCALE_FILENAME));
        $translate->setLocale('fr');
        // 'Zend_Translate' est un mot clefs qui permet de définir le translate par défaut
        Zend_Registry::set('Zend_Translate', $translate);
    }

    /**
     * Initialise le logger qui écrit dans le fichiers log C:\Windows\Temp\zendtremplin.log
     */
    protected function _initLogger() {
        $writer = new Zend_Log_Writer_Stream('C:\Windows\Temp\zendtremplin.log');
        $logger = new Zend_Log($writer);
        Zend_Registry::set('logger', $logger);
    }

    /**
     * Initialise le fuseau horaire utilisé par l'application 
     */
    protected function _initDate() {
        date_default_timezone_set('Europe/Paris');
    }

    /**
     * Initialise les path des ressources qui ne sont pas celles par défaut de ZF 
     * Ceci permet à l'autoloading de charger les classes
     */
    protected function _initAutoloader() {
        $loader = Zend_Loader_Autoloader::getInstance();
        $loader->registerNamespace('ZendTremplin_');
    }

}

